package cn.bigfire.wedesk.bean;
import java.util.*;
import java.lang.*;
import io.protostuff.Tag;
public class Wedesk {

public enum Type  {
    TYPE_UNKNOWN(0),
    TYPE_JSON_OBJECT(1),
    TYPE_JSON_ARRAY(2),
    TYPE_XML(3),
    TYPE_IMG(10),
    TYPE_AUDIO(11),
    TYPE_VIDEO(12),
    TYPE_Empty(20),
    TYPE_Err(21),
    TYPE_Ping(22),
    TYPE_Pong(23),
    TYPE_RegisterReq(26),
    TYPE_RegisterRes(27),
    TYPE_LoginReq(28),
    TYPE_LoginRes(29),
    TYPE_PCInfo(30),
    TYPE_CtrlMyListRes(31),
    TYPE_Ctrl(32),
    TYPE_ScreensHot(33),
    TYPE_MouseEvent(37),
    TYPE_KeyboardEvent(38),
    ;
    private int value;

    private Type(int value) {
      this.value = value;
    }

    public int getValue() {
      return value;
    }
}

public enum Cmd  {
    CMD_UNKNOWN(0),
    CMD_PING(1),
    CMD_HEART(2),
    CMD_PC_INFO(20),
    CMD_REGISTER(25),
    CMD_LOGIN(26),
    CMD_CTRL_MY_LIST(27),
    CMD_CTRL_LIST(30),
    CMD_CTRL_OPEN(31),
    CMD_CTRL_CLOSE(32),
    CMD_SCREENSHOT_DATA(33),
    CMD_CTRL_MOUSE(35),
    CMD_CTRL_KEY_BOARD(36),
    CMD_CTRL_CLIPBOARD_READ(37),
    CMD_CTRL_CLIPBOARD_WRITE(38),
    CMD_CTRL_FILE_LIST(39),
    CMD_CTRL_FILE_DOWN(40),
    CMD_CTRL_FILE_UPLOAD(41),
    CMD_WEB_INFO(50),
    CMD_ADMIN_AUTH(1001),
    ;
    private int value;

    private Cmd(int value) {
      this.value = value;
    }

    public int getValue() {
      return value;
    }
}

public static class MouseEvent {
    @Tag(1)
    String fromCid;
    @Tag(2)
    String toCid;
    @Tag(3)
    int which;
    @Tag(4)
    String type;
    @Tag(6)
    int x;
    @Tag(7)
    int y;
    @Tag(8)
    int deltaY;
    @Tag(9)
    int timestamp;
    public String getFromCid() {
        return fromCid;
    }
    public void setFromCid(String fromCid) {
        this.fromCid = fromCid;
    }
    public String getToCid() {
        return toCid;
    }
    public void setToCid(String toCid) {
        this.toCid = toCid;
    }
    public int getWhich() {
        return which;
    }
    public void setWhich(int which) {
        this.which = which;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public int getX() {
        return x;
    }
    public void setX(int x) {
        this.x = x;
    }
    public int getY() {
        return y;
    }
    public void setY(int y) {
        this.y = y;
    }
    public int getDeltaY() {
        return deltaY;
    }
    public void setDeltaY(int deltaY) {
        this.deltaY = deltaY;
    }
    public int getTimestamp() {
        return timestamp;
    }
    public void setTimestamp(int timestamp) {
        this.timestamp = timestamp;
    }
}

public static class Err {
    @Tag(1)
    int errCode;
    @Tag(2)
    String errMsg;
    @Tag(3)
    String exceptionMsg;
    public int getErrCode() {
        return errCode;
    }
    public void setErrCode(int errCode) {
        this.errCode = errCode;
    }
    public String getErrMsg() {
        return errMsg;
    }
    public void setErrMsg(String errMsg) {
        this.errMsg = errMsg;
    }
    public String getExceptionMsg() {
        return exceptionMsg;
    }
    public void setExceptionMsg(String exceptionMsg) {
        this.exceptionMsg = exceptionMsg;
    }
}

public static class KeyboardEvent {
    @Tag(1)
    String fromCid;
    @Tag(2)
    String toCid;
    @Tag(3)
    String type;
    @Tag(4)
    int keyCode;
    @Tag(5)
    int timestamp;
    public String getFromCid() {
        return fromCid;
    }
    public void setFromCid(String fromCid) {
        this.fromCid = fromCid;
    }
    public String getToCid() {
        return toCid;
    }
    public void setToCid(String toCid) {
        this.toCid = toCid;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public int getKeyCode() {
        return keyCode;
    }
    public void setKeyCode(int keyCode) {
        this.keyCode = keyCode;
    }
    public int getTimestamp() {
        return timestamp;
    }
    public void setTimestamp(int timestamp) {
        this.timestamp = timestamp;
    }
}

public static class Ctrl {
    @Tag(1)
    String fromCid;
    @Tag(2)
    String toCid;
    public String getFromCid() {
        return fromCid;
    }
    public void setFromCid(String fromCid) {
        this.fromCid = fromCid;
    }
    public String getToCid() {
        return toCid;
    }
    public void setToCid(String toCid) {
        this.toCid = toCid;
    }
}

public static class Empty {
}

public static class Ping {
}

public static class PCInfo {
    @Tag(1)
    String osArch;
    @Tag(2)
    String osName;
    @Tag(3)
    String userName;
    @Tag(4)
    String userHomeDir;
    @Tag(5)
    String userCurrDir;
    @Tag(6)
    String userTempDir;
    @Tag(7)
    String userCountry;
    @Tag(8)
    String hostName;
    @Tag(9)
    String macAddress;
    @Tag(10)
    String processor;
    @Tag(11)
    String memory;
    @Tag(12)
    List<String> diskList = new java.util.ArrayList<>();
    @Tag(13)
    String cid;
    @Tag(14)
    String note;
    public String getOsArch() {
        return osArch;
    }
    public void setOsArch(String osArch) {
        this.osArch = osArch;
    }
    public String getOsName() {
        return osName;
    }
    public void setOsName(String osName) {
        this.osName = osName;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getUserHomeDir() {
        return userHomeDir;
    }
    public void setUserHomeDir(String userHomeDir) {
        this.userHomeDir = userHomeDir;
    }
    public String getUserCurrDir() {
        return userCurrDir;
    }
    public void setUserCurrDir(String userCurrDir) {
        this.userCurrDir = userCurrDir;
    }
    public String getUserTempDir() {
        return userTempDir;
    }
    public void setUserTempDir(String userTempDir) {
        this.userTempDir = userTempDir;
    }
    public String getUserCountry() {
        return userCountry;
    }
    public void setUserCountry(String userCountry) {
        this.userCountry = userCountry;
    }
    public String getHostName() {
        return hostName;
    }
    public void setHostName(String hostName) {
        this.hostName = hostName;
    }
    public String getMacAddress() {
        return macAddress;
    }
    public void setMacAddress(String macAddress) {
        this.macAddress = macAddress;
    }
    public String getProcessor() {
        return processor;
    }
    public void setProcessor(String processor) {
        this.processor = processor;
    }
    public String getMemory() {
        return memory;
    }
    public void setMemory(String memory) {
        this.memory = memory;
    }
    public List<String> getDiskList() {
        return diskList;
    }
    public void setDiskList(List<String> diskList) {
        this.diskList = diskList;
    }
    public String getCid() {
        return cid;
    }
    public void setCid(String cid) {
        this.cid = cid;
    }
    public String getNote() {
        return note;
    }
    public void setNote(String note) {
        this.note = note;
    }
}

public static class ScreensHot {
    @Tag(1)
    int width;
    @Tag(2)
    int height;
    @Tag(3)
    byte[] data;
    public int getWidth() {
        return width;
    }
    public void setWidth(int width) {
        this.width = width;
    }
    public int getHeight() {
        return height;
    }
    public void setHeight(int height) {
        this.height = height;
    }
    public byte[] getData() {
        return data;
    }
    public void setData(byte[] data) {
        this.data = data;
    }
}

public static class RegisterReq {
    @Tag(1)
    String username;
    @Tag(2)
    String password;
    @Tag(3)
    String password2;
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getPassword2() {
        return password2;
    }
    public void setPassword2(String password2) {
        this.password2 = password2;
    }
}

public static class CtrlMyListRes {
    @Tag(1)
    String username;
    @Tag(2)
    Map<String,PCInfo> pcOnlineMap = new java.util.HashMap<>();
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public Map<String,PCInfo> getPcOnlineMap() {
        return pcOnlineMap;
    }
    public void setPcOnlineMap(Map<String,PCInfo> pcOnlineMap) {
        this.pcOnlineMap = pcOnlineMap;
    }
}

public static class LoginRes {
    @Tag(1)
    String username;
    @Tag(2)
    int age;
    @Tag(3)
    int sex;
    @Tag(4)
    int registerWay;
    @Tag(5)
    long registerTime;
    @Tag(6)
    long updateTime;
    @Tag(7)
    Map<String,PCInfo> pcOnlineMap = new java.util.HashMap<>();
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public int getSex() {
        return sex;
    }
    public void setSex(int sex) {
        this.sex = sex;
    }
    public int getRegisterWay() {
        return registerWay;
    }
    public void setRegisterWay(int registerWay) {
        this.registerWay = registerWay;
    }
    public long getRegisterTime() {
        return registerTime;
    }
    public void setRegisterTime(long registerTime) {
        this.registerTime = registerTime;
    }
    public long getUpdateTime() {
        return updateTime;
    }
    public void setUpdateTime(long updateTime) {
        this.updateTime = updateTime;
    }
    public Map<String,PCInfo> getPcOnlineMap() {
        return pcOnlineMap;
    }
    public void setPcOnlineMap(Map<String,PCInfo> pcOnlineMap) {
        this.pcOnlineMap = pcOnlineMap;
    }
}

public static class Pong {
}

public static class LoginReq {
    @Tag(1)
    String username;
    @Tag(2)
    String password;
    @Tag(3)
    int loginWay;
    @Tag(4)
    PCInfo pcInfo;
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public int getLoginWay() {
        return loginWay;
    }
    public void setLoginWay(int loginWay) {
        this.loginWay = loginWay;
    }
    public PCInfo getPcInfo() {
        return pcInfo;
    }
    public void setPcInfo(PCInfo pcInfo) {
        this.pcInfo = pcInfo;
    }
}

public static class RegisterRes {
    @Tag(1)
    String username;
    @Tag(2)
    int registerWay;
    @Tag(4)
    long registerTime;
    @Tag(5)
    long updateTime;
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public int getRegisterWay() {
        return registerWay;
    }
    public void setRegisterWay(int registerWay) {
        this.registerWay = registerWay;
    }
    public long getRegisterTime() {
        return registerTime;
    }
    public void setRegisterTime(long registerTime) {
        this.registerTime = registerTime;
    }
    public long getUpdateTime() {
        return updateTime;
    }
    public void setUpdateTime(long updateTime) {
        this.updateTime = updateTime;
    }
}

}
